// $ANTLR 3.4 C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g 2012-10-25 15:30:48
package PL.practica6;

import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class AnalizadorGDLParser extends Parser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ABRIRLLAVE", "ARROWSTYLE", "BLANCO", "BORDERSTYLE", "CADENA", "CERRARLLAVE", "COMENTARIOlINEA", "DIGITO", "DOSPUNTOS", "EDGE", "EDGESTYLE", "GRAPH", "IDENT", "LABEL", "LETRA", "NODE", "NODESTYLE", "NUEVA_LINEA", "NUMERO", "SOURCE", "TARGET", "TITLE"
    };

    public static final int EOF=-1;
    public static final int ABRIRLLAVE=4;
    public static final int ARROWSTYLE=5;
    public static final int BLANCO=6;
    public static final int BORDERSTYLE=7;
    public static final int CADENA=8;
    public static final int CERRARLLAVE=9;
    public static final int COMENTARIOlINEA=10;
    public static final int DIGITO=11;
    public static final int DOSPUNTOS=12;
    public static final int EDGE=13;
    public static final int EDGESTYLE=14;
    public static final int GRAPH=15;
    public static final int IDENT=16;
    public static final int LABEL=17;
    public static final int LETRA=18;
    public static final int NODE=19;
    public static final int NODESTYLE=20;
    public static final int NUEVA_LINEA=21;
    public static final int NUMERO=22;
    public static final int SOURCE=23;
    public static final int TARGET=24;
    public static final int TITLE=25;

    // delegates
    public Parser[] getDelegates() {
        return new Parser[] {};
    }

    // delegators


    public AnalizadorGDLParser(TokenStream input) {
        this(input, new RecognizerSharedState());
    }
    public AnalizadorGDLParser(TokenStream input, RecognizerSharedState state) {
        super(input, state);
    }

    public String[] getTokenNames() { return AnalizadorGDLParser.tokenNames; }
    public String getGrammarFileName() { return "C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g"; }



    ArrayList <RecognitionException> errores = new ArrayList<RecognitionException>();

    public boolean listaVacia (){
        if (errores.isEmpty()){
          return true;
        }else
          return false;
    }

    public ArrayList getListaErrores(){return errores;}


    @Override
    public void reportError (RecognitionException e){
      System.out.println (getErrorMessage(e, getTokenNames()));
      errores.add(e);
    }




    // $ANTLR start "entrada"
    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:33:1: entrada : ( graph )* ;
    public final void entrada() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:33:8: ( ( graph )* )
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:33:10: ( graph )*
            {
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:33:10: ( graph )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0==GRAPH) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:33:10: graph
            	    {
            	    pushFollow(FOLLOW_graph_in_entrada46);
            	    graph();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "entrada"



    // $ANTLR start "graph"
    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:35:1: graph : GRAPH DOSPUNTOS ABRIRLLAVE ( node | edge )* CERRARLLAVE ;
    public final void graph() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:35:7: ( GRAPH DOSPUNTOS ABRIRLLAVE ( node | edge )* CERRARLLAVE )
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:35:9: GRAPH DOSPUNTOS ABRIRLLAVE ( node | edge )* CERRARLLAVE
            {
            match(input,GRAPH,FOLLOW_GRAPH_in_graph55); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_graph57); 

            match(input,ABRIRLLAVE,FOLLOW_ABRIRLLAVE_in_graph59); 

            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:35:36: ( node | edge )*
            loop2:
            do {
                int alt2=3;
                int LA2_0 = input.LA(1);

                if ( (LA2_0==NODE) ) {
                    alt2=1;
                }
                else if ( (LA2_0==EDGE) ) {
                    alt2=2;
                }


                switch (alt2) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:35:37: node
            	    {
            	    pushFollow(FOLLOW_node_in_graph62);
            	    node();

            	    state._fsp--;


            	    }
            	    break;
            	case 2 :
            	    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:35:42: edge
            	    {
            	    pushFollow(FOLLOW_edge_in_graph64);
            	    edge();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop2;
                }
            } while (true);


            match(input,CERRARLLAVE,FOLLOW_CERRARLLAVE_in_graph68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "graph"



    // $ANTLR start "node"
    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:37:1: node : NODE DOSPUNTOS ABRIRLLAVE optionnode optionnode ( optionnode )? CERRARLLAVE ;
    public final void node() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:37:6: ( NODE DOSPUNTOS ABRIRLLAVE optionnode optionnode ( optionnode )? CERRARLLAVE )
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:37:9: NODE DOSPUNTOS ABRIRLLAVE optionnode optionnode ( optionnode )? CERRARLLAVE
            {
            match(input,NODE,FOLLOW_NODE_in_node78); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_node80); 

            match(input,ABRIRLLAVE,FOLLOW_ABRIRLLAVE_in_node82); 

            pushFollow(FOLLOW_optionnode_in_node84);
            optionnode();

            state._fsp--;


            pushFollow(FOLLOW_optionnode_in_node86);
            optionnode();

            state._fsp--;


            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:37:57: ( optionnode )?
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==BORDERSTYLE||LA3_0==LABEL||LA3_0==TITLE) ) {
                alt3=1;
            }
            switch (alt3) {
                case 1 :
                    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:37:57: optionnode
                    {
                    pushFollow(FOLLOW_optionnode_in_node88);
                    optionnode();

                    state._fsp--;


                    }
                    break;

            }


            match(input,CERRARLLAVE,FOLLOW_CERRARLLAVE_in_node91); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "node"



    // $ANTLR start "optionnode"
    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:38:3: optionnode : ( title | label | borderstyle );
    public final void optionnode() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:38:14: ( title | label | borderstyle )
            int alt4=3;
            switch ( input.LA(1) ) {
            case TITLE:
                {
                alt4=1;
                }
                break;
            case LABEL:
                {
                alt4=2;
                }
                break;
            case BORDERSTYLE:
                {
                alt4=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;

            }

            switch (alt4) {
                case 1 :
                    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:38:16: title
                    {
                    pushFollow(FOLLOW_title_in_optionnode101);
                    title();

                    state._fsp--;


                    }
                    break;
                case 2 :
                    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:38:24: label
                    {
                    pushFollow(FOLLOW_label_in_optionnode105);
                    label();

                    state._fsp--;


                    }
                    break;
                case 3 :
                    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:38:32: borderstyle
                    {
                    pushFollow(FOLLOW_borderstyle_in_optionnode109);
                    borderstyle();

                    state._fsp--;


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "optionnode"



    // $ANTLR start "title"
    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:39:5: title : TITLE DOSPUNTOS CADENA ;
    public final void title() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:39:11: ( TITLE DOSPUNTOS CADENA )
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:39:13: TITLE DOSPUNTOS CADENA
            {
            match(input,TITLE,FOLLOW_TITLE_in_title120); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_title122); 

            match(input,CADENA,FOLLOW_CADENA_in_title124); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "title"



    // $ANTLR start "label"
    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:40:5: label : LABEL DOSPUNTOS CADENA ;
    public final void label() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:40:11: ( LABEL DOSPUNTOS CADENA )
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:40:14: LABEL DOSPUNTOS CADENA
            {
            match(input,LABEL,FOLLOW_LABEL_in_label136); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_label138); 

            match(input,CADENA,FOLLOW_CADENA_in_label140); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "label"



    // $ANTLR start "borderstyle"
    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:41:5: borderstyle : BORDERSTYLE DOSPUNTOS NODESTYLE ;
    public final void borderstyle() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:41:17: ( BORDERSTYLE DOSPUNTOS NODESTYLE )
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:41:19: BORDERSTYLE DOSPUNTOS NODESTYLE
            {
            match(input,BORDERSTYLE,FOLLOW_BORDERSTYLE_in_borderstyle151); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_borderstyle153); 

            match(input,NODESTYLE,FOLLOW_NODESTYLE_in_borderstyle155); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "borderstyle"



    // $ANTLR start "edge"
    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:42:1: edge : EDGE DOSPUNTOS ABRIRLLAVE optionedge optionedge ( optionedge )? CERRARLLAVE ;
    public final void edge() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:42:6: ( EDGE DOSPUNTOS ABRIRLLAVE optionedge optionedge ( optionedge )? CERRARLLAVE )
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:42:8: EDGE DOSPUNTOS ABRIRLLAVE optionedge optionedge ( optionedge )? CERRARLLAVE
            {
            match(input,EDGE,FOLLOW_EDGE_in_edge162); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_edge164); 

            match(input,ABRIRLLAVE,FOLLOW_ABRIRLLAVE_in_edge166); 

            pushFollow(FOLLOW_optionedge_in_edge168);
            optionedge();

            state._fsp--;


            pushFollow(FOLLOW_optionedge_in_edge170);
            optionedge();

            state._fsp--;


            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:42:56: ( optionedge )?
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0==ARROWSTYLE||(LA5_0 >= SOURCE && LA5_0 <= TARGET)) ) {
                alt5=1;
            }
            switch (alt5) {
                case 1 :
                    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:42:56: optionedge
                    {
                    pushFollow(FOLLOW_optionedge_in_edge172);
                    optionedge();

                    state._fsp--;


                    }
                    break;

            }


            match(input,CERRARLLAVE,FOLLOW_CERRARLLAVE_in_edge175); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "edge"



    // $ANTLR start "optionedge"
    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:43:3: optionedge : ( source | target | arrowstyle );
    public final void optionedge() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:43:14: ( source | target | arrowstyle )
            int alt6=3;
            switch ( input.LA(1) ) {
            case SOURCE:
                {
                alt6=1;
                }
                break;
            case TARGET:
                {
                alt6=2;
                }
                break;
            case ARROWSTYLE:
                {
                alt6=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);

                throw nvae;

            }

            switch (alt6) {
                case 1 :
                    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:43:16: source
                    {
                    pushFollow(FOLLOW_source_in_optionedge184);
                    source();

                    state._fsp--;


                    }
                    break;
                case 2 :
                    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:43:25: target
                    {
                    pushFollow(FOLLOW_target_in_optionedge188);
                    target();

                    state._fsp--;


                    }
                    break;
                case 3 :
                    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:43:34: arrowstyle
                    {
                    pushFollow(FOLLOW_arrowstyle_in_optionedge192);
                    arrowstyle();

                    state._fsp--;


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "optionedge"



    // $ANTLR start "source"
    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:44:3: source : SOURCE DOSPUNTOS CADENA ;
    public final void source() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:44:10: ( SOURCE DOSPUNTOS CADENA )
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:44:12: SOURCE DOSPUNTOS CADENA
            {
            match(input,SOURCE,FOLLOW_SOURCE_in_source201); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_source203); 

            match(input,CADENA,FOLLOW_CADENA_in_source205); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "source"



    // $ANTLR start "target"
    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:45:3: target : TARGET DOSPUNTOS CADENA ;
    public final void target() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:45:10: ( TARGET DOSPUNTOS CADENA )
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:45:12: TARGET DOSPUNTOS CADENA
            {
            match(input,TARGET,FOLLOW_TARGET_in_target214); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_target216); 

            match(input,CADENA,FOLLOW_CADENA_in_target218); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "target"



    // $ANTLR start "arrowstyle"
    // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:46:3: arrowstyle : ARROWSTYLE DOSPUNTOS EDGESTYLE ;
    public final void arrowstyle() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:46:13: ( ARROWSTYLE DOSPUNTOS EDGESTYLE )
            // C:\\Users\\Jose\\workspace\\practica6\\src\\main\\java\\PL\\practica6\\AnalizadorGDLParser.g:46:15: ARROWSTYLE DOSPUNTOS EDGESTYLE
            {
            match(input,ARROWSTYLE,FOLLOW_ARROWSTYLE_in_arrowstyle226); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_arrowstyle228); 

            match(input,EDGESTYLE,FOLLOW_EDGESTYLE_in_arrowstyle230); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "arrowstyle"

    // Delegated rules


 

    public static final BitSet FOLLOW_graph_in_entrada46 = new BitSet(new long[]{0x0000000000008002L});
    public static final BitSet FOLLOW_GRAPH_in_graph55 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_graph57 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_ABRIRLLAVE_in_graph59 = new BitSet(new long[]{0x0000000000082200L});
    public static final BitSet FOLLOW_node_in_graph62 = new BitSet(new long[]{0x0000000000082200L});
    public static final BitSet FOLLOW_edge_in_graph64 = new BitSet(new long[]{0x0000000000082200L});
    public static final BitSet FOLLOW_CERRARLLAVE_in_graph68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NODE_in_node78 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_node80 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_ABRIRLLAVE_in_node82 = new BitSet(new long[]{0x0000000002020080L});
    public static final BitSet FOLLOW_optionnode_in_node84 = new BitSet(new long[]{0x0000000002020080L});
    public static final BitSet FOLLOW_optionnode_in_node86 = new BitSet(new long[]{0x0000000002020280L});
    public static final BitSet FOLLOW_optionnode_in_node88 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CERRARLLAVE_in_node91 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_title_in_optionnode101 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_label_in_optionnode105 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_borderstyle_in_optionnode109 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_TITLE_in_title120 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_title122 = new BitSet(new long[]{0x0000000000000100L});
    public static final BitSet FOLLOW_CADENA_in_title124 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LABEL_in_label136 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_label138 = new BitSet(new long[]{0x0000000000000100L});
    public static final BitSet FOLLOW_CADENA_in_label140 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_BORDERSTYLE_in_borderstyle151 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_borderstyle153 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_NODESTYLE_in_borderstyle155 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_EDGE_in_edge162 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_edge164 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_ABRIRLLAVE_in_edge166 = new BitSet(new long[]{0x0000000001800020L});
    public static final BitSet FOLLOW_optionedge_in_edge168 = new BitSet(new long[]{0x0000000001800020L});
    public static final BitSet FOLLOW_optionedge_in_edge170 = new BitSet(new long[]{0x0000000001800220L});
    public static final BitSet FOLLOW_optionedge_in_edge172 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CERRARLLAVE_in_edge175 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_source_in_optionedge184 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_target_in_optionedge188 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_arrowstyle_in_optionedge192 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_SOURCE_in_source201 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_source203 = new BitSet(new long[]{0x0000000000000100L});
    public static final BitSet FOLLOW_CADENA_in_source205 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_TARGET_in_target214 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_target216 = new BitSet(new long[]{0x0000000000000100L});
    public static final BitSet FOLLOW_CADENA_in_target218 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ARROWSTYLE_in_arrowstyle226 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_arrowstyle228 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_EDGESTYLE_in_arrowstyle230 = new BitSet(new long[]{0x0000000000000002L});

}